package com.sdry.mapper.base;

import com.sdry.utils.PageBean;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public interface BaseDao<T> {

    //分页查询
    List<T> findPage(PageBean pageBean);

    //查询记录数
    Integer selectCount(PageBean pageBean);

    //带条件查询，条件可以为null，既没有条件；返回list对象集合
    List<T> find(Map map);

    //只查询一个，常用于修改
    T selectByPrimaryKey(Serializable id);

    //插入，用实体作为参数
    Integer insert(T entity);

    //修改，用实体作为参数
    Integer update(T entity);

    //按id删除，删除一条；支持整数型和字符串类型ID
    Integer deleteById(Serializable id);


    //批量删除；支持整数型和字符串类型ID
    Integer delete(Serializable[] ids);

    //根据id查询
    T queryById(Long id);


}
